home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Games Collection 1
/
software vault.zip
/
software vault
/
CDR10
/
YICN23.ZIP
/
UNITS
/
YAKFONT.CPP
< prev
next >
Wrap
C/C++ Source or Header
|
1992-12-09
|
1KB
|
53 lines
#include "yakfont.h"
#include "xrect.h"
#include "xline.h"
#include "string.h"
#include "conio.h"
void yakFont::load(char * filename, yakLib * myYakLib)
{
int sizeOfBuffer;
if (fontData)
delete fontData;
if (myYakLib)
{
fontData = myYakLib->loadToMem(filename);
sizeOfBuffer = myYakLib->fileSize(filename);
}
else
{
ifstream myInStream(filename, ios::binary | ios::in);
myInStream.seekg(0, ios::end);
sizeOfBuffer = myInStream.tellg(); //not really! Just using it!
fontData = new byte[sizeOfBuffer];
myInStream.seekg(0);
myInStream.read(fontData, sizeOfBuffer);
myInStream.close();
}
startChar = *(word *)fontData;
charHeight = *(byte *)(fontData+2);
charWidth = *(byte *)(fontData+3);
numberOfChars = (sizeOfBuffer - 4) / charHeight; //the real numo'Chars
}
void yakFont::registerMe(void)
{
x_register_userfont(fontData);
}
void yakFont::use(void)
{
registerMe();
x_set_font(FONT_USER);
}
void yakFont::save(char * filename)
{
ofstream myOutStream(filename, ios::binary | ios::in);
myOutStream.write(fontData, numberOfChars*charHeight + 4);
myOutStream.close();
}